body > header {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 6px 20px 0;
  box-sizing: border-box;
  background-color: #f3f3f3;
  box-shadow: 0 5px 2px rgba(#000000, 0.5);
  border-bottom: solid 1px #ddd;
  .search {
    display: flex;
    flex: 1;
    .logo {
      width: 40px;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      i[class^='fa'] {
        font-size: 25px;
        color: #f39c12;
      }
    }
    .search-box {
      flex: 1;
      border: solid 1px #ddd;
      font-size: 16px;
      color: #aaa;
      display: flex;
      align-items: center;
      & > div.icon {
        width: 30px;
        display: flex;
        justify-content: center;
      }
    }
    .user {
      width: 30px;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      i[class^='fa'] {
        font-size: 25px;
        color: #aaa;
      }
    }
  }
  .menu {
    position: relative;
    padding-top: 15px;
    #toggleMenu:checked {
      & + label {
        transform: rotateZ(180deg);
      }
      & ~ .category {
        display: block;
      }
      & ~ nav {
        display: none;
      }
    }
    label[for='toggleMenu'] {
      transition: 1s;
      position: absolute;
      top: 14px;
      right: 0;
      color: #999;
      i {
        font-size: 15px;
      }
    }
    .category {
      display: none;
      h2 {
        font-size: 14px;
        margin-bottom: 15px;
      }
      ul {
        display: flex;
        flex-wrap: wrap;
        li {
          width: 25%;
          padding-right: 5px;
          margin-bottom: 8px;
          &:nth-child(4n) {
            padding-right: 0;
          }
          a {
            text-decoration: none;
            background-color: white;
            display: flex;
            justify-content: center;
            align-items: center;
            border: solid 1px #ddd;
            border-radius: 5px;
            padding: 3px 10px;
            font-size: 14px;
            color: #999;
            &.active {
              background-color: #fcc9b5;
              color: rgb(231, 61, 31);
              border: solid 1px rgb(231, 61, 31);
            }
          }
        }
      }
    }
    nav {
      flex: 1;
      display: flex;
      // display: none;
      align-items: center;
      margin-right: 30px;
      & > div {
        flex: 1;
        display: flex;
        justify-content: space-between;
        align-items: center;
        a {
          text-decoration: none;
          color: #aaa;
          font-size: 15px;
          padding-bottom: 8px;
          &.active {
            color: #f39c12;
            position: relative;
            &::after {
              content: ' ';
              display: block;
              height: 2px;
              width: 30px;
              background: #f39c12;
              position: absolute;
              bottom: 0px;
            }
          }
        }
      }
      & > i {
        margin-left: 30px;
        color: #aaa;
      }
    }
  }
}
